<?
class Rule_Filesize extends Rule
{
	public $maxsize;
	public $required;
	public $error_message="Выберите файл не более ";
	
	function __construct($name,$maxsize, $error_message="", $required=false)
	{
		$this->name=$name;
		$this->maxsize=$maxsize;
		$this->required=$required;
		if($error_message!="") 
		{
			$this->error_message = $error_message;
		}
		else
		{
			if($this->maxsize % 1024 > 0)
				$this->error_message.=$this->maxsize." кБ";
			else
				$this->error_message.=($this->maxsize/1024)." МБ";
		}
	}
	
	function Check($hash)
	{
		if(!is_uploaded_file($_FILES[$this->name]['tmp_name'])) 
		{
			if($this->required)
			{
				$this->error_message = 'Вы забыли приложить файл либо отправка файлов запрещена в вашей сети';
				return false;
			}
			else return true;
		}
		
		$size = filesize($_FILES[$this->name]['tmp_name']);
		if(  $size > $this->maxsize*1024 ) return false;
		return true;
	}
}